8.5.áVBoxManage modifyvm

This command changes the properties of a registered virtual machine. Most of the properties that this command makes available correspond to the VM settings that VirtualBox graphical user interface displays in each VM's "Settings" dialog; these were described in Sectioná3.7, “Virtual machine settings”. Some of the more advanced settings, however, are only available through the VBoxManage interface.

8.5.1.áGeneral settings

The following general settings are available through VBoxManage modifyvm:

  • -name <name>: This changes the VM's name and possibly renames the internal virtual machine files, as described with VBoxManage createvm above.

  • -ostype <ostype>: This specifies what guest operating system is supposed to run in the VM. As mentioned at Sectioná3.2, “Creating a virtual machine”, this setting is presently purely descriptive. To learn about the various identifiers that can be used here, use VBoxManage list ostypes.

  • -memory <memorysize>: This sets the amount of RAM, in MB, that the virtual machine should allocate for itself from the host. Again, see the remarks in Sectioná3.2, “Creating a virtual machine” for more information.

  • -vram <vramsize>: This sets the amount of RAM that the virtual graphics card should have. See Sectioná3.7.1, “General settings” for details.

  • -acpi on|off; -ioapic on|off: These two determine whether the VM should have ACPI and I/O APIC support, respectively; see Sectioná3.7.1.2, “"Advanced" tab” for details.

  • -pae on|off: This enables/disables PAE (see Sectioná3.7.1.2, “"Advanced" tab”).

  • -hwvirtex on|off|default: This enables or disables the use of virtualization extensions (Intel VT-x or AMD-V) in the processor of your host system; see Sectioná1.2, “Software vs. hardware virtualization (VT-x and AMD-V)”.

  • -nestedpaging on|off: This enables or disables the use of the nested paging feature (currently AMD-V only) in the processor of your host system; see Sectioná1.2, “Software vs. hardware virtualization (VT-x and AMD-V)”.

  • You can influence the BIOS logo that is displayed when a virtual machine starts up with a number of settings. Per default, a VirtualBox logo is displayed.

    With -bioslogofadein on|off and -bioslogofadeout on|off, you can determine whether the logo should fade in and out, respectively.

    With -bioslogodisplaytime <msec> you can set how long the logo should be visible, in milliseconds.

    With -bioslogoimagepath <imagepath> you can, if you are so inclined, replace the image that is shown, with your own logo. The image must be an uncompressed 256 color BMP file.

  • -biosbootmenu disabled|menuonly|messageandmenu: This specifies whether the BIOS allows the user to select a temporary boot device. menuonly suppresses the message, but the user can still press F12 to select a temporary boot device.

  • -boot<1-4> none|floppy|dvd|disk|net: This specifies the boot order for the virtual machine. There are four "slots", which the VM will try to access from 1 to 4, and for each of which you can set a device that the VM should attempt to boot from.

  • -snapshotfolder default|<path>: This allows you to specify the folder in which snapshots will be kept for a virtual machine.

8.5.2.áStorage settings

The following storage settings are available through VBoxManage modifyvm:

  • -hd<a|b|d> none|<uuid>|<filename>: This specifies the settings for each of the three virtual hard disks that can be attached to a VM's IDE controller (primary master and slave, and secondary slave; the secondary master is always reserved for the virtual CD/DVD drive). For each of these three, specify either the UUID or a filename of a virtual disk that you have

  • -sata on|off: this determines whether VirtualBox, in addition to the IDE controller, should also present an SATA controller as a second PCI device to the virtual machine. See Sectioná5.1, “Hard disk controllers: IDE, SATA, AHCI” for additional information.

  • -sataportcount <1-30>: if the SATA controller is enabled, this determines how many ports the SATA controller should support.

  • -sataport<1-30> none|<uuid>|<filename>: if the SATA controller is enabled, this specifies how an SATA slot should be occupied. This works just like the -hd options explained above.

  • -sataideemulation<1-4> <1-30>: if the SATA controller is enabled, this specifies which SATA ports should operate in IDE emulation mode. As explained in Sectioná5.1, “Hard disk controllers: IDE, SATA, AHCI”, by default, this is the case for SATA ports 1-4; with this command, you can map four IDE channels to any of the 30 supported SATA ports.

  • -dvd none|<uuid>|<filename>|host:<drive>: This specifies what VirtualBox should provide to the VM as the virtual CD/DVD drive; specify either the UUID or the filename of an image file that you have registered with VBoxManage registerimage (see Sectioná8.10, “VBoxManage registerimage / unregisterimage”). Alternatively, specify "host:" with the drive specification of your host's drive.

  • -dvdpassthrough on|off: With this, you can enable DVD writing support (currently experimental; see Sectioná3.7.3, “CD/DVD-ROM and floppy settings”).

  • -floppy disabled|empty|<uuid>|<filename>|host:<drive>: This is the floppy equivalent to the -dvd option described above. disabled completely disables the floppy controller, whereas empty keeps the floppy controller enabled, but without a media inserted.

8.5.3.áNetworking settings

The following networking settings are available through VBoxManage modifyvm:

  • -nic<1-N> none|null|nat|hostif|intnet: With this, you can set, for each of the VM's virtual network cards, what type of networking should be available. They can be not present (none), not connected to the host (null), use network address translation (nat), a host interface (hostif) or communicate with other virtual machines using internal networking (intnet). These options correspond to the modes which are described in detail in Sectioná6.2, “Introduction to networking modes”.

  • -nictype<1-N> Am79C970A|Am79C973|82540EM: This allows you, for each of the VM's virtual network cards, to specify which networking hardware VirtualBox presents to the guest; see Sectioná6.1, “Virtual networking hardware”.

  • -cableconnected<1-N> on|off: This allows you to temporarily disconnect a virtual network interface, as if a network cable had been pulled from a real network card. This might be useful for resetting certain software components in the VM.

  • With the "nictrace" options, you can optionally trace network traffic, for debugging purposes. With -nictrace<1-N> on|off, you can enable network tracing for a particular virtual network card.

    If enabled, you must specify with -nictracefile<1-N> <filename> what file the trace should be logged to.

  • -hostifdev<1-N> none|<devicename>: If host interface networking has been enabled for a virtual network card (see the -nic option above; otherwise this setting has no effect), use this option to specify which host interface the given virtual network interface will use.

    For Windows hosts, this should be the name of a VirtualBox host interface which you have created using the createhostif command. For Linux hosts, this should be the name of an existing static interface or none if you wish to allocate an interface dynamically. In the latter case, you should also specify the creation and termination scripts for the interface with -tapsetup<1-4> and -tapterminate<1-4>. For details, please see Sectioná6.5, “Introduction to Host Interface Networking (HIF)”.

  • -intnet<1-N> network: If internal networking has been enabled for a virtual network card (see the -nic option above; otherwise this setting has no effect), use this option to specify the name of the internal network (see Sectioná6.10, “Internal networking”).

  • -macaddress<1-N> auto|<mac>: With this option you can set the MAC address of the virtual network card. Per default, each virtual network card is assigned a random address by VirtualBox at VM creation.

8.5.4.áSerial port, audio, clipboard, VRDP and USB settings

The following other settings are available through VBoxManage modifyvm:

  • -uart<1-N> off|<I/O base> <IRQ>: With this option you can configure virtual serial ports for the VM; see Sectioná3.7.6, “Serial ports” for an introduction.

  • -uartmode<1-N> <arg>: This setting controls how VirtualBox connects a given virtual serial port (previously configured with the -uartX setting, see above) to the host on which the virtual machine is running. As described in detail in Sectioná3.7.6, “Serial ports”, for each such port, you can specify <arg> as one of the following options:

    • disconnected: Even though the serial port is shown to the guest, it has no "other end" -- like a real COM port without a cable.

    • server <pipename>: On a Windows host, this tells VirtualBox to create a named pipe on the host named <pipename> and connect the virtual serial device to it. Note that Windows requires that the name of a named pipe begin with \\.\pipe\.

      On a Linux host, instead of a named pipe, a local domain socket is used.

    • client <pipename>: This operates just like server ..., except that the pipe (or local domain socket) is not created by VirtualBox, but assumed to exist already.

    • <devicename>: If, instead of the above, the device name of a physical hardware serial port of the host is specified, the virtual serial port is connected to that hardware port. On a Windows host, the device name will be a COM port such as COM1; on a Linux host, the device name will look like /dev/ttyS0. This allows you to "wire" a real serial port to a virtual machine.

  • -audio none|null|oss: With this option, you can set whether the VM should have audio support.

  • -clipboard disabled|hosttoguest|guesttohost| bidirectional: With this setting, you can select whether the guest operating system's clipboard should be shared with the host; see Sectioná3.7.1, “General settings”. This requires that the Guest Additions be installed in the virtual machine.

  • -vrdp on|off: With the VirtualBox graphical user interface, this enables or disables the built-in VRDP server. Note that if you are using VBoxHeadless (see Sectioná7.4.1, “VBoxHeadless, the VRDP-only server”), VRDP output is always enabled.

  • -vrdpport default|<port>: This lets you specify which port should be used; "default" or "0" means port 3389, the standard port for RDP. Only one machine can use a given port at a time.

  • -vrdpauthtype null|external|guest: This allows you to choose whether and how authorization will be performed; see Sectioná7.4.4, “RDP authentication” for details.

  • -usb on|off: This option enables or disables the VM's virtual USB controller; see Sectioná3.7.7.1, “USB settings” for details.

  • -usbehci on|off: This option enables or disables the VM's virtual USB 2.0 controller; see Sectioná3.7.7.1, “USB settings” for details.